var g = {
	ver:'1.0.0',
	runMode:'pro',  // 全局环境标识（保持 pro）
	
	// 旧域名 - 登录、用户等接口（始终使用生产环境）
	domain:{
		dev:'https://gjjdp.gjjd168.com',  // 开发也用生产
		pro:'https://gjjdp.gjjd168.com'   // 生产环境
	},
	uploadURL:{
		dev:'https://gjjdp.gjjd168.com',  // 开发也用生产
		pro:'https://gjjdp.gjjd168.com'   // 生产环境
	},
	
	// 新域名 - 竞赛接口（开发用本地，生产用线上）
	java:{
		dev:'http://192.168.1.120:8081',              // 本地开发环境 ← 你的本地后端
		pro:'https://java.app.gjjd168.com'        // 生产环境
	},
	javaURL:{
		dev:'http://localhost:8080',              // 本地开发环境
		pro:'https://java.app.gjjd168.com'        // 生产环境
	},
	
	// 独立的竞赛接口环境控制
	javaRunMode: 'dev',  // ← 新增：竞赛接口使用开发环境（本地）
	
	isAndroid: uni.getSystemInfoSync().osName === 'android'
}

//获取一定范围内n个随机整数
g.randIntNumber = (start, end, n)=>{
	var arr = [];
	for (var i = 0; i < n; i++) {
		var number = Math.floor(Math.random() * (end - start + 1) + start);
		if (arr.indexOf(number) < 0) {
			arr.push(number);
		} else {
			i--;
		}
	}
	return arr;
}

//校验手机号
g.validatePhone = (phone)=>{
	const phoneRegex = /^1[3|4|5|7|8][0-9]{9}$/;
	return phoneRegex.test(phone);
}

g.rectTo = (router,options={})=>{
	// 优化：支持两种参数传递方式
	let pathurl;
	
	// 如果 options 包含 id 等简单参数，使用标准 URL 方式
	if (Object.keys(options).length === 1 && options.id !== undefined) {
		pathurl = router + '?id=' + options.id;
	} else if (Object.keys(options).length > 0) {
		// 复杂参数使用 item 方式
		pathurl = router + '?item=' + encodeURIComponent(JSON.stringify(options));
	} else {
		pathurl = router;
	}
	
	// 判断是否是 tabBar 页面
	if(pathurl.indexOf('pages/index/index') != -1 || 
	   pathurl.indexOf('pages/team/index') != -1 || 
	   pathurl.indexOf('pages/promote/index') != -1 || 
	   pathurl.indexOf('pages/shop/index') != -1 || 
	   pathurl.indexOf('pages/user/index') != -1){
		uni.switchTab({
			url: router, // tabBar 页面不能带参数
		});
	} else {
		uni.redirectTo({
			url: pathurl
		});
	}
}

g.navTo = (router,options={})=>{
	// 优化：支持两种参数传递方式
	let pathurl;
	
	// 如果 options 包含 id 等简单参数，使用标准 URL 方式
	if (Object.keys(options).length === 1 && options.id !== undefined) {
		pathurl = router + '?id=' + options.id;
	} else if (Object.keys(options).length > 0) {
		// 复杂参数使用 item 方式
		pathurl = router + '?item=' + encodeURIComponent(JSON.stringify(options));
	} else {
		pathurl = router;
	}
	
	// 判断是否是 tabBar 页面
	if(pathurl.indexOf('pages/index/index') != -1 || 
	   pathurl.indexOf('pages/team/index') != -1 || 
	   pathurl.indexOf('pages/promote/index') != -1 || 
	   pathurl.indexOf('pages/shop/index') != -1 || 
	   pathurl.indexOf('pages/user/index') != -1){
		uni.switchTab({
			url: router, // tabBar 页面不能带参数
		});
	} else {
		uni.navigateTo({
			url: pathurl
		});
	}
}

g.isLogin = ()=>{
	let token = uni.getStorageSync('itoken');
	if(token){
		return 1;
	}else{
		return 0;
	}
}

g.checkLogin = ()=>{
	if(!g.isLogin()){
		g.rectTo("/pages/auth/login");
	}
}

g.dateFormat = (format='')=>{
	const dt = new Date();
	const y = dt.getFullYear()
	const m = dt.getMonth() + 1 < 10 ? '0' + (dt.getMonth() + 1) : dt.getMonth() + 1 // 获取当前月份的日期，不足10补0
	const d = dt.getDate() < 10 ? '0' + dt.getDate() : dt.getDate() // 获取当前几号，不足10补0
	if(!format){
		if(format == 'Y-d-m'){
			return y + '-' + m + '-' + d;
		}else if(format == 'Y/d/m'){
			return y + '/' + m + '/' + d;
		}
	}
	return y + '-' + m + '-' + d;
}

// 获取关卡中文名称（将数字1-5转换为"一"-"五"）
g.getLevelName = (levelId) => {
	const names = ['一', '二', '三', '四', '五'];
	return names[levelId - 1] || levelId;
}

export default g